-- Network Working Group                                    C.M. Heard, Ed.
-- Request for Comments: 3637                                    Consultant
-- Category: Standards Track                                 September 2003


--                      Definitions of Managed Objects
--                 for the Ethernet WAN Interface Sublayer

   ETHER-WIS DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE,
       Gauge32, transmission
           FROM SNMPv2-SMI
       ifIndex
           FROM IF-MIB
       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF
       sonetMediumStuff2, sonetSectionStuff2,
       sonetLineStuff2, sonetFarEndLineStuff2,
       sonetPathStuff2, sonetFarEndPathStuff2,
       sonetMediumType, sonetMediumLineCoding,
       sonetMediumLineType, sonetMediumCircuitIdentifier,
       sonetMediumLoopbackConfig, sonetSESthresholdSet,
       sonetPathCurrentWidth
           FROM SONET-MIB;

   etherWisMIB MODULE-IDENTITY
       LAST-UPDATED "200309190000Z"  -- September 19, 2003
           ORGANIZATION "IETF Ethernet Interfaces and Hub MIB
                        Working Group"
           CONTACT-INFO
              "WG charter:
                 http://www.ietf.org/html.charters/hubmib-charter.html

               Mailing Lists:
                 General Discussion: hubmib@ietf.org
                 To Subscribe: hubmib-request@ietf.org
                 In Body: subscribe your_email_address

                Chair: Dan Romascanu
               Postal: Avaya Inc.
                       Atidim Technology Park, Bldg. 3
                       Tel Aviv 61131
                       Israel
                  Tel: +972 3 645 8414
               E-mail: dromasca@avaya.com

               Editor: C. M. Heard
               Postal: 600 Rainbow Dr. #141
                       Mountain View, CA 94041-2542
                       USA
                  Tel: +1 650-964-8391
               E-mail: heard@pobox.com"

       DESCRIPTION
         "The objects in this MIB module are used in conjunction
         with objects in the SONET-MIB and the MAU-MIB to manage
         the Ethernet WAN Interface Sublayer (WIS).

         The following reference is used throughout this MIB module:

         [IEEE 802.3 Std] refers to:
            IEEE Std 802.3, 2000 Edition: 'IEEE Standard for
            Information technology - Telecommunications and
            information exchange between systems - Local and
            metropolitan area networks - Specific requirements -
            Part 3: Carrier sense multiple access with collision
            detection (CSMA/CD) access method and physical layer
            specifications', as amended by IEEE Std 802.3ae-2002,
            'IEEE Standard for Carrier Sense Multiple Access with
            Collision Detection (CSMA/CD) Access Method and
            Physical Layer Specifications - Media Access Control
            (MAC) Parameters, Physical Layer and Management
            Parameters for 10 Gb/s Operation', 30 August 2002.

         Of particular interest are Clause 50, 'WAN Interface
         Sublayer (WIS), type 10GBASE-W', Clause 30, '10Mb/s,
         100Mb/s, 1000Mb/s, and 10Gb/s MAC Control, and Link
         Aggregation Management', and Clause 45, 'Management
         Data Input/Output (MDIO) Interface'.

         Copyright (C) The Internet Society (2003).  This version
         of this MIB module is part of RFC 3637;  see the RFC
         itself for full legal notices."

       REVISION    "200309190000Z"  -- September 19, 2003
       DESCRIPTION "Initial version, published as RFC 3637."

       ::= { transmission 134 }

   -- The main sections of the module

   etherWisObjects     OBJECT IDENTIFIER ::= { etherWisMIB 1 }

   etherWisObjectsPath OBJECT IDENTIFIER ::= { etherWisMIB 2 }

   etherWisConformance OBJECT IDENTIFIER ::= { etherWisMIB 3 }

   -- groups in the Ethernet WIS MIB module

   etherWisDevice      OBJECT IDENTIFIER ::= { etherWisObjects 1 }

   etherWisSection     OBJECT IDENTIFIER ::= { etherWisObjects 2 }

   etherWisPath        OBJECT IDENTIFIER ::= { etherWisObjectsPath 1 }

   etherWisFarEndPath  OBJECT IDENTIFIER ::= { etherWisObjectsPath 2 }


   -- The Device group

   -- These objects provide WIS extensions to
   -- the SONET-MIB Medium Group.

   etherWisDeviceTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF EtherWisDeviceEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
          "The table for Ethernet WIS devices"
        ::= { etherWisDevice 1 }

   etherWisDeviceEntry OBJECT-TYPE
       SYNTAX  EtherWisDeviceEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
          "An entry in the Ethernet WIS device table.  For each
          instance of this object there MUST be a corresponding
          instance of sonetMediumEntry."
       INDEX  { ifIndex }
        ::= { etherWisDeviceTable 1 }

   EtherWisDeviceEntry ::=
       SEQUENCE {
           etherWisDeviceTxTestPatternMode     INTEGER,
           etherWisDeviceRxTestPatternMode     INTEGER,
           etherWisDeviceRxTestPatternErrors   Gauge32
           }

   etherWisDeviceTxTestPatternMode OBJECT-TYPE
       SYNTAX  INTEGER {
                   none(1),
                   squareWave(2),
                   prbs31(3),
                   mixedFrequency(4)
               }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
          "This variable controls the transmit test pattern mode.
          The value none(1) puts the the WIS transmit path into
          the normal operating mode.  The value squareWave(2) puts
          the WIS transmit path into the square wave test pattern
          mode described in [IEEE 802.3 Std.] subclause 50.3.8.1.
          The value prbs31(3) puts the WIS transmit path into the
          PRBS31 test pattern mode described in [IEEE 802.3 Std.]
          subclause 50.3.8.2.  The value mixedFrequency(4) puts the
          WIS transmit path into the mixed frequency test pattern
          mode described in [IEEE 802.3 Std.] subclause 50.3.8.3.
          Any attempt to set this object to a value other than
          none(1) when the corresponding instance of ifAdminStatus
          has the value up(1) MUST be rejected with the error
          inconsistentValue, and any attempt to set the corresponding
          instance of ifAdminStatus to the value up(1) when an
          instance of this object has a value other than none(1)
          MUST be rejected with the error inconsistentValue."
       REFERENCE
          "[IEEE 802.3 Std.], 50.3.8, WIS test pattern generator and
          checker, 45.2.2.6, 10G WIS control 2 register (2.7), and
          45.2.2.7.2, PRBS31 pattern testing ability (2.8.1)."
        ::= { etherWisDeviceEntry 1 }

   etherWisDeviceRxTestPatternMode OBJECT-TYPE
       SYNTAX  INTEGER {
                   none(1),
                   prbs31(3),
                   mixedFrequency(4)
               }
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
          "This variable controls the receive test pattern mode.
          The value none(1) puts the the WIS receive path into the
          normal operating mode.  The value prbs31(3) puts the WIS
          receive path into the PRBS31 test pattern mode described
          in [IEEE 802.3 Std.] subclause 50.3.8.2.  The value
          mixedFrequency(4) puts the WIS receive path into the mixed
          frequency test pattern mode described in [IEEE 802.3 Std.]
          subclause 50.3.8.3.  Any attempt to set this object to a
          value other than none(1) when the corresponding instance
          of ifAdminStatus has the value up(1) MUST be rejected with
          the error inconsistentValue, and any attempt to set the
          corresponding instance of ifAdminStatus to the value up(1)
          when an instance of this object has a value other than
          none(1) MUST be rejected with the error inconsistentValue."
       REFERENCE
          "[IEEE 802.3 Std.], 50.3.8, WIS test pattern generator and
          checker, 45.2.2.6, 10G WIS control 2 register (2.7), and
          45.2.2.7.2, PRBS31 pattern testing ability (2.8.1)."
        ::= { etherWisDeviceEntry 2 }

   etherWisDeviceRxTestPatternErrors OBJECT-TYPE
       SYNTAX  Gauge32 ( 0..65535 )
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
          "This object counts the number of errors detected when the
          WIS receive path is operating in the PRBS31 test pattern
          mode.  It is reset to zero when the WIS receive path
          initially enters that mode, and it increments each time
          the PRBS pattern checker detects an error as described in
          [IEEE 802.3 Std.] subclause 50.3.8.2 unless its value is
          65535, in which case it remains unchanged.  This object is
          writeable so that it may be reset upon explicit request
          of a command generator application while the WIS receive
          path continues to operate in PRBS31 test pattern mode."
       REFERENCE
          "[IEEE 802.3 Std.], 50.3.8, WIS test pattern generator and
          checker, 45.2.2.7.2, PRBS31 pattern testing ability
          (2.8.1), and 45.2.2.8, 10G WIS test pattern error counter
          register (2.9)."
        ::= { etherWisDeviceEntry 3 }


   -- The Section group

   -- These objects provide WIS extensions to
   -- the SONET-MIB Section Group.

   etherWisSectionCurrentTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF EtherWisSectionCurrentEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
          "The table for the current state of Ethernet WIS sections."
        ::= { etherWisSection 1 }

   etherWisSectionCurrentEntry OBJECT-TYPE
       SYNTAX  EtherWisSectionCurrentEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
          "An entry in the etherWisSectionCurrentTable.  For each
          instance of this object there MUST be a corresponding
          instance of sonetSectionCurrentEntry."
       INDEX  { ifIndex }
        ::= { etherWisSectionCurrentTable 1 }

   EtherWisSectionCurrentEntry ::=
       SEQUENCE {
           etherWisSectionCurrentJ0Transmitted OCTET STRING,
           etherWisSectionCurrentJ0Received    OCTET STRING
           }

   etherWisSectionCurrentJ0Transmitted OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (16))
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
          "This is the 16-octet section trace message that
          is transmitted in the J0 byte.  The value SHOULD
          be '89'h followed by fifteen octets of '00'h
          (or some cyclic shift thereof) when the section
          trace function is not used, and the implementation
          SHOULD use that value (or a cyclic shift thereof)
          as a default if no other value has been set."
       REFERENCE
          "[IEEE 802.3 Std.], 30.8.1.1.8, aJ0ValueTX."
        ::= { etherWisSectionCurrentEntry 1 }

   etherWisSectionCurrentJ0Received OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (16))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "This is the 16-octet section trace message that
          was most recently received in the J0 byte."
       REFERENCE
          "[IEEE 802.3 Std.], 30.8.1.1.9, aJ0ValueRX."
        ::= { etherWisSectionCurrentEntry 2 }


   -- The Path group

   -- These objects provide WIS extensions to
   -- the SONET-MIB Path Group.

   etherWisPathCurrentTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF EtherWisPathCurrentEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
          "The table for the current state of Ethernet WIS paths."
        ::= { etherWisPath 1 }

   etherWisPathCurrentEntry OBJECT-TYPE
       SYNTAX  EtherWisPathCurrentEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
          "An entry in the etherWisPathCurrentTable.  For each
          instance of this object there MUST be a corresponding
          instance of sonetPathCurrentEntry."
       INDEX  { ifIndex }
        ::= { etherWisPathCurrentTable 1 }

   EtherWisPathCurrentEntry ::=
       SEQUENCE {
           etherWisPathCurrentStatus           BITS,
           etherWisPathCurrentJ1Transmitted    OCTET STRING,
           etherWisPathCurrentJ1Received       OCTET STRING
           }

   etherWisPathCurrentStatus OBJECT-TYPE
       SYNTAX  BITS {
                   etherWisPathLOP(0),
                   etherWisPathAIS(1),
                   etherWisPathPLM(2),
                   etherWisPathLCD(3)
               }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "This variable indicates the current status of the
          path payload with a bit map that can indicate multiple
          defects at once.  The bit positions are assigned as
          follows:

          etherWisPathLOP(0)
             This bit is set to indicate that an
             LOP-P (Loss of Pointer - Path) defect
             is being experienced.  Note:  when this
             bit is set, sonetPathSTSLOP MUST be set
             in the corresponding instance of
             sonetPathCurrentStatus.

          etherWisPathAIS(1)
             This bit is set to indicate that an
             AIS-P (Alarm Indication Signal - Path)
             defect is being experienced.  Note:  when
             this bit is set, sonetPathSTSAIS MUST be
             set in the corresponding instance of
             sonetPathCurrentStatus.

          etherWisPathPLM(1)
             This bit is set to indicate that a
             PLM-P (Payload Label Mismatch - Path)
             defect is being experienced.  Note:  when
             this bit is set, sonetPathSignalLabelMismatch
             MUST be set in the corresponding instance of
             sonetPathCurrentStatus.

          etherWisPathLCD(3)
             This bit is set to indicate that an
             LCD-P (Loss of Codegroup Delination - Path)
             defect is being experienced.  Since this
             defect is detected by the PCS and not by
             the path layer itself, there is no
             corresponding bit in sonetPathCurrentStatus."
       REFERENCE
          "[IEEE 802.3 Std.], 30.8.1.1.18, aPathStatus."
        ::= { etherWisPathCurrentEntry 1 }

   etherWisPathCurrentJ1Transmitted OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (16))
       MAX-ACCESS  read-write
       STATUS  current
       DESCRIPTION
          "This is the 16-octet path trace message that
          is transmitted in the J1 byte.  The value SHOULD
          be '89'h followed by fifteen octets of '00'h
          (or some cyclic shift thereof) when the path
          trace function is not used, and the implementation
          SHOULD use that value (or a cyclic shift thereof)
          as a default if no other value has been set."
       REFERENCE
          "[IEEE 802.3 Std.], 30.8.1.1.23, aJ1ValueTX."
        ::= { etherWisPathCurrentEntry 2 }

   etherWisPathCurrentJ1Received OBJECT-TYPE
       SYNTAX  OCTET STRING (SIZE (16))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "This is the 16-octet path trace message that
          was most recently received in the J1 byte."
       REFERENCE
          "[IEEE 802.3 Std.], 30.8.1.1.24, aJ1ValueRX."
        ::= { etherWisPathCurrentEntry 3 }


   -- The Far End Path group

   -- These objects provide WIS extensions to
   -- the SONET-MIB Far End Path Group.

   etherWisFarEndPathCurrentTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF EtherWisFarEndPathCurrentEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
          "The table for the current far-end state of Ethernet WIS
          paths."
        ::= { etherWisFarEndPath 1 }

   etherWisFarEndPathCurrentEntry OBJECT-TYPE
       SYNTAX  EtherWisFarEndPathCurrentEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
          "An entry in the etherWisFarEndPathCurrentTable.  For each
          instance of this object there MUST be a corresponding
          instance of sonetFarEndPathCurrentEntry."
       INDEX  { ifIndex }
        ::= { etherWisFarEndPathCurrentTable 1 }

   EtherWisFarEndPathCurrentEntry ::=
       SEQUENCE {
           etherWisFarEndPathCurrentStatus     BITS
           }

   etherWisFarEndPathCurrentStatus OBJECT-TYPE
       SYNTAX  BITS {
                   etherWisFarEndPayloadDefect(0),
                   etherWisFarEndServerDefect(1)
               }
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
          "This variable indicates the current status at the
          far end of the path using a bit map that can indicate
          multiple defects at once.  The bit positions are
          assigned as follows:

          etherWisFarEndPayloadDefect(0)
             A far end payload defect (i.e., far end
             PLM-P or LCD-P) is currently being signaled
             in G1 bits 5-7.

          etherWisFarEndServerDefect(1)
             A far end server defect (i.e., far end
             LOP-P or AIS-P) is currently being signaled
             in G1 bits 5-7.  Note:  when this bit is set,
             sonetPathSTSRDI MUST be set in the corresponding
             instance of sonetPathCurrentStatus."
       REFERENCE
          "[IEEE 802.3 Std.], 30.8.1.1.25, aFarEndPathStatus."
        ::= { etherWisFarEndPathCurrentEntry 1 }


   --
   --     Conformance Statements
   --

   etherWisGroups      OBJECT IDENTIFIER ::= { etherWisConformance 1 }

   etherWisCompliances OBJECT IDENTIFIER ::= { etherWisConformance 2 }

   --     Object Groups

   etherWisDeviceGroupBasic OBJECT-GROUP
       OBJECTS {
           etherWisDeviceTxTestPatternMode,
           etherWisDeviceRxTestPatternMode
           }
       STATUS  current
       DESCRIPTION
          "A collection of objects that support test
          features required of all WIS devices."
        ::= { etherWisGroups 1 }

   etherWisDeviceGroupExtra OBJECT-GROUP
       OBJECTS {
           etherWisDeviceRxTestPatternErrors
           }
       STATUS  current
       DESCRIPTION
          "A collection of objects that support
          optional WIS device test features."
        ::= { etherWisGroups 2 }

   etherWisSectionGroup OBJECT-GROUP
       OBJECTS {
           etherWisSectionCurrentJ0Transmitted,
           etherWisSectionCurrentJ0Received
           }
       STATUS  current
       DESCRIPTION
          "A collection of objects that provide
          required information about a WIS section."
        ::= { etherWisGroups 3 }

   etherWisPathGroup OBJECT-GROUP
       OBJECTS {
           etherWisPathCurrentStatus,
           etherWisPathCurrentJ1Transmitted,
           etherWisPathCurrentJ1Received
           }
       STATUS  current
       DESCRIPTION
          "A collection of objects that provide
          required information about a WIS path."
        ::= { etherWisGroups 4 }

   etherWisFarEndPathGroup OBJECT-GROUP
       OBJECTS {
           etherWisFarEndPathCurrentStatus
           }
       STATUS  current
       DESCRIPTION
          "A collection of objects that provide required
          information about the far end of a WIS path."
        ::= { etherWisGroups 5 }

   --     Compliance Statements

   etherWisCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
          "The compliance statement for interfaces that include
          the Ethernet WIS.  Compliance with the following
          external compliance statements is prerequisite:

          MIB Module             Compliance Statement
          ----------             --------------------
          IF-MIB                 ifCompliance3
          IF-INVERTED-STACK-MIB  ifInvCompliance
          EtherLike-MIB          dot3Compliance2
          MAU-MIB                mauModIfCompl3"

       MODULE  -- this module
           MANDATORY-GROUPS {
               etherWisDeviceGroupBasic,
               etherWisSectionGroup,
               etherWisPathGroup,
               etherWisFarEndPathGroup
               }

           OBJECT       etherWisDeviceTxTestPatternMode
           SYNTAX       INTEGER {
               none(1),
               squareWave(2),
               mixedFrequency(4)
               }
           DESCRIPTION
               "Support for values other than none(1),
               squareWave(2), and mixedFrequency(4)
               is not required."

           OBJECT       etherWisDeviceRxTestPatternMode
           SYNTAX       INTEGER {
               none(1),
               mixedFrequency(4)
               }
           DESCRIPTION
               "Support for values other than none(1)
               and mixedFrequency(4) is not required."

           GROUP        etherWisDeviceGroupExtra
           DESCRIPTION
               "Implementation of this group, along with support for
               the value prbs31(3) for etherWisDeviceTxTestPatternMode
               and etherWisDeviceRxTestPatternMode, is necessary if the
               optional PRBS31 test pattern mode is to be supported."

           OBJECT       etherWisDeviceRxTestPatternErrors
           WRITE-SYNTAX Gauge32 ( 0 )
           DESCRIPTION
               "An implementation is not required to
               allow values other than zero to be
               written to this object."

       MODULE SONET-MIB
           MANDATORY-GROUPS {
               sonetMediumStuff2,
               sonetSectionStuff2,
               sonetLineStuff2,
               sonetFarEndLineStuff2,
               sonetPathStuff2,
               sonetFarEndPathStuff2
               }

           OBJECT       sonetMediumType
           SYNTAX       INTEGER {
               sonet(1)
               }
           MIN-ACCESS   read-only
           DESCRIPTION
               "Write access is not required, nor is support
               for any value other than sonet(1)."

           OBJECT       sonetMediumLineCoding
           SYNTAX       INTEGER {
               sonetMediumNRZ(4)
               }
           MIN-ACCESS   read-only
           DESCRIPTION
               "Write access is not required, nor is support
               for any value other than sonetMediumNRZ(4)."

           OBJECT       sonetMediumLineType
           MIN-ACCESS   read-only
           DESCRIPTION
               "Write access is not required."

           OBJECT       sonetMediumCircuitIdentifier
           MIN-ACCESS   read-only
           DESCRIPTION
               "Write access is not required."

           OBJECT       sonetMediumLoopbackConfig
           SYNTAX       BITS {
               sonetNoLoop(0),
               sonetFacilityLoop(1)
               }
           MIN-ACCESS   read-only
           DESCRIPTION
               "Write access is not required, nor is support for values
               other than sonetNoLoop(0) and sonetFacilityLoop(1)."

           OBJECT       sonetSESthresholdSet
           MIN-ACCESS   read-only
           DESCRIPTION
               "Write access is not required, and only one
               of the enumerated values need be supported."

           OBJECT       sonetPathCurrentWidth
           SYNTAX       INTEGER {
               sts192cSTM64(6)
               }
           MIN-ACCESS   read-only
           DESCRIPTION
               "Write access is not required, nor is support
               for any value other than sts192cSTM64(6)."

        ::= { etherWisCompliances 1 }

   END